import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default {
    state: {
        menuList: [],
        permList: [],
        hasRoute: false,
        editableTabs: [
            {
                icon: 'el-icon-s-home',
                title: '首页',
                name: 'Index',
            },
        ],
        editableTabsValue: 'Index'
    },
    mutations: {
        changeRouteStatus(state, value) {
            state.hasRoute = value
            sessionStorage.setItem('hasRoute', value)
        },
        setMenuList(state, menuValue) {
            state.menuList = menuValue
        },
        setPermList(state, authoritys) {
            state.permList = authoritys
        },

        // 添加选项卡方法
        addTabs(state, newTab) {
            // 对于重复添加选项卡进行处理 findIndex(查找条件) 根据查询条件找到数据返回下标
            // 如果数组中某一个选项卡的name和新添加选项卡的name一样，返回其下标 如果没有，返回-1
            let index = state.editableTabs.findIndex(item => item.name == newTab.name)
            if (index == -1) {
                // 将新的选项卡添加到现有的数组中
                state.editableTabs.push(newTab)
            }
            // 如果已存在，则将选项卡激活
            // 设置新加入的选项卡为激活选项卡
            state.editableTabsValue = newTab.name
        }
    }
}